// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:31

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   uq.java

package com.zelix;

import java.io.*;
import java.util.*;

// Referenced classes of package com.zelix:
//            oc, yo, tb, zb, 
//            yb, zo, dp, re, 
//            we, se, ob, bf, 
//            lb, ss, rs, lt, 
//            mu, mt, kt, ou, 
//            oq, rq, sq, ec, 
//            tq, vq, wq, yq, 
//            xq, zq, dv, fv, 
//            fy, gy, wu, zu, 
//            gs

public class uq
{

    private String a;
    private wu b;
    private boolean c;
    private se d;
    private yo e;
    private final int f = 16000;
    private final int g = 2000;
    private static String z[];

    public uq(String s, wu wu1)
    {
        if(s == null)
        {
            throw new IllegalArgumentException(z[9]);
        } else
        {
            a = s;
            b = wu1;
            return;
        }
    }

    private void a(vq vq1, ArrayList arraylist, ArrayList arraylist1, boolean flag)
    {
        ListIterator listiterator;
        boolean flag1;
        flag1 = ec.b;
        listiterator = arraylist.listIterator();
        if(!flag1) goto _L2; else goto _L1
_L1:
        oq oq1;
        int i;
        oq1 = (oq)listiterator.next();
        listiterator.remove();
        i = 0;
        if(!flag1) goto _L4; else goto _L3
_L3:
        wq wq1 = (wq)arraylist1.get(i);
        ou ou1 = wq1.b;
        oq oq2 = (oq)oq1.clone();
        oq2.a(vq1, ou1, flag);
        listiterator.add(oq2);
        i++;
_L4:
        if(i < arraylist1.size()) goto _L3; else goto _L2
_L2:
        if(!listiterator.hasNext())
            return;
        if(true) goto _L1; else goto _L5
_L5:
    }

    private ArrayList a(ArrayList arraylist, yo yo1)
        throws yb, ec
    {
        HashMap hashmap;
        ArrayList arraylist1;
        boolean flag;
        vq vq1;
        int i;
        boolean flag1;
        flag1 = ec.b;
        hashmap = new HashMap();
        arraylist1 = new ArrayList();
        flag = false;
        vq1 = null;
        i = 0;
          goto _L1
_L18:
        Object obj;
        ArrayList arraylist2;
        obj = (vq)arraylist.get(i);
        arraylist2 = ((vq) (obj)).f();
        if(i != 0) goto _L3; else goto _L2
_L2:
        a(arraylist1, ((vq) (obj)));
        if(!flag1) goto _L4; else goto _L3
_L3:
        if(!((vq) (obj)).h()) goto _L6; else goto _L5
_L5:
        if(!vq1.h()) goto _L8; else goto _L7
_L7:
        Object obj1;
        ListIterator listiterator;
        obj1 = new ArrayList(arraylist1.size());
        listiterator = arraylist1.listIterator();
        if(!flag1) goto _L10; else goto _L9
_L9:
        Object obj2;
        Object obj3;
        int i1;
        obj2 = (oq)listiterator.next();
        listiterator.remove();
        ((ArrayList) (obj1)).add(obj2);
        obj3 = ((oq) (obj2)).b();
        i1 = 0;
        if(!flag1) goto _L12; else goto _L11
_L11:
        wq wq1 = (wq)arraylist2.get(i1);
        ou ou1 = wq1.b;
        if(a(((ou) (obj3)), ou1, hashmap, yo1))
        {
            oq oq2 = (oq)((oq) (obj2)).clone();
            oq2.a(((vq) (obj)), ou1);
            listiterator.add(oq2);
        }
        i1++;
_L12:
        if(i1 < arraylist2.size()) goto _L11; else goto _L10
_L10:
        if(listiterator.hasNext()) goto _L9; else goto _L13
_L13:
        if(arraylist1.size() != 0) goto _L4; else goto _L14
_L14:
        arraylist1 = ((ArrayList) (obj1));
        a(((vq) (obj)), arraylist1, arraylist2, flag);
        if(!flag1) goto _L4; else goto _L8
_L8:
        a(((vq) (obj)), arraylist1, arraylist2, flag);
        if(!flag1) goto _L4; else goto _L6
_L6:
        obj1 = arraylist1.listIterator();
        if(!flag1) goto _L16; else goto _L15
_L15:
        oq oq1 = (oq)((ListIterator) (obj1)).next();
        oq1.a(((vq) (obj)));
_L16:
        if(((ListIterator) (obj1)).hasNext()) goto _L15; else goto _L4
_L4:
        vq1 = ((vq) (obj));
        if(!flag)
            flag = ((vq) (obj)).h();
        if(arraylist1.size() > 16000)
            throw new ec(z[2] + arraylist1.size() + z[0] + 16000 + ".");
        i++;
_L1:
        if(i < arraylist.size()) goto _L18; else goto _L17
_L17:
        int j;
        obj = new ArrayList(arraylist1.size());
        j = 0;
        if(!flag1) goto _L20; else goto _L19
_L19:
        ((ArrayList) (obj)).add(new rq((oq)arraylist1.get(j)));
        j++;
_L20:
        if(j < arraylist1.size()) goto _L19; else goto _L21
_L21:
        if(arraylist1.size() > 2000)
            throw new ec(z[1] + arraylist1.size() + z[0] + 2000 + ".");
_L29:
        int k;
        int l;
        k = ((ArrayList) (obj)).size();
        l = 0;
        if(!flag1) goto _L23; else goto _L22
_L22:
        obj2 = (rq)((ArrayList) (obj)).get(l);
        obj3 = ((AbstractList) (obj)).listIterator(l + 1);
        if(!flag1) goto _L25; else goto _L24
_L24:
        rq rq1 = (rq)((Iterator) (obj3)).next();
        if(((rq) (obj2)).a(rq1))
        {
            ((rq) (obj2)).b(rq1);
            ((Iterator) (obj3)).remove();
        }
_L25:
        if(((Iterator) (obj3)).hasNext()) goto _L24; else goto _L26
_L26:
        l++;
_L23:
        if(l < ((ArrayList) (obj)).size() - 1) goto _L22; else goto _L27
_L27:
        if(((ArrayList) (obj)).size() >= k)
            return ((ArrayList) (obj));
        if(true) goto _L29; else goto _L28
_L28:
    }

    public void b()
    {
        if(e != null)
            e.b();
    }

    private boolean a(ou ou1, ou ou2, HashMap hashmap, yo yo1)
        throws yb
    {
        fy fy1;
        Enumeration enumeration;
        boolean flag;
        flag = ec.b;
        gy gy1 = a(ou1, hashmap, yo1);
        fy1 = gy1.a(ou2.S());
        if(fy1 == null)
            return false;
        enumeration = fy1.d();
        if(!flag) goto _L2; else goto _L1
_L1:
        mt mt1;
        mt mt2;
        Enumeration enumeration1;
        mt1 = (mt)enumeration.nextElement();
        mt2 = (mt)ou2.h();
        Hashtable hashtable = fy1.b(mt1);
        enumeration1 = hashtable.keys();
        if(!flag) goto _L4; else goto _L3
_L3:
        int i = ((Integer)enumeration1.nextElement()).intValue();
        switch(i)
        {
        default:
            break;

        case 185: 
            if(yo1.b(mt2.j(), mt1.j()))
                return true;
            break;

        case 183: 
            if(mt1 == mt2 || yo1.a(mt1.j(), mt2.j()))
                return true;
            break;

        case 184: 
            if(mt1 == mt2)
                return true;
            break;

        case 182: 
            if(mt1 == mt2 || yo1.a(mt1.j(), mt2.j()) || yo1.a(mt2.j(), mt1.j()))
                return true;
            break;
        }
_L4:
        if(enumeration1.hasMoreElements()) goto _L3; else goto _L2
_L2:
        if(!enumeration.hasMoreElements())
            return false;
        if(true) goto _L1; else goto _L5
_L5:
    }

    private vq a(tq tq1, yo yo1, se se1)
        throws yb, ec
    {
        boolean flag = false;
        if(tq1.k())
            flag = se1.d(tq1.a()) ^ true;
        vq vq1 = new vq(tq1, yo1, flag);
        return vq1;
    }

    private gy a(ou ou1, HashMap hashmap, yo yo1)
        throws yb
    {
        gy gy1;
        Iterator iterator;
        boolean flag;
        flag = ec.b;
        gy1 = (gy)hashmap.get(ou1);
        if(gy1 != null)
            break MISSING_BLOCK_LABEL_153;
        gy1 = new gy(27, 5, 5);
        HashMap hashmap1 = new HashMap(27);
        ou1.a(hashmap1);
        iterator = hashmap1.entrySet().iterator();
        if(!flag) goto _L2; else goto _L1
_L1:
        java.util.Map.Entry entry = (java.util.Map.Entry)iterator.next();
        ss ss1 = (ss)entry.getKey();
        Integer integer = (Integer)entry.getValue();
        String s = ss1.b();
        mt mt1 = yo1.a(s);
        gy1.a(ss1.s(), mt1, integer, integer);
_L2:
        if(iterator.hasNext()) goto _L1; else goto _L3
_L3:
        hashmap.put(ou1, gy1);
        return gy1;
    }

    public String a(String s)
        throws ec
    {
        boolean flag;
        String s1;
label0:
        {
            if(!c)
                a();
            flag = s.indexOf("/") > -1;
            if(flag)
            {
                s1 = s.replace('/', '.');
                if(!ec.b)
                    break label0;
            }
            s1 = s;
        }
        String s2 = d.f(s1);
        if(s2 == null)
            return s;
        if(flag)
            s2 = s2.replace('.', '/');
        return s2;
    }

    public String[] a(String s, String s1)
        throws ec
    {
        Vector vector;
        boolean flag;
        flag = ec.b;
        if(!c)
            a();
        s = s.replace('/', '.');
        vector = d.g(s, s1);
        if(vector != null && vector.size() != 0) goto _L2; else goto _L1
_L1:
        String as[];
        as = new String[1];
        as[0] = s1;
        if(!flag) goto _L3; else goto _L2
_L2:
        int i;
        as = new String[vector.size()];
        i = 0;
        if(!flag) goto _L5; else goto _L4
_L4:
        dv dv1 = (dv)vector.get(i);
        String s2 = (String)dv1.b();
        as[i] = String.valueOf(dv1.a()) + "(" + (s2 == null ? "" : s2) + ")";
        i++;
_L5:
        if(i < vector.size()) goto _L4; else goto _L3
_L3:
        return as;
    }

    private ArrayList a(ArrayList arraylist)
        throws ec
    {
        ArrayList arraylist1;
        int i;
        boolean flag;
        flag = ec.b;
        arraylist1 = new ArrayList(arraylist.size());
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        rq rq1 = (rq)arraylist.get(i);
        arraylist1.add(new yq(rq1, d));
        i++;
_L2:
        if(i >= arraylist.size())
            return arraylist1;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public String a(String s, boolean flag)
        throws ec
    {
        return a(s, flag, 2);
    }

    public String a(String s, boolean flag, int i)
        throws ec
    {
        StringBuffer stringbuffer;
        String as[];
        boolean flag1;
        flag1 = ec.b;
        stringbuffer = new StringBuffer();
        fv fv1 = new fv();
        as = a(s, flag, i, fv1);
        if(!fv1.a())
        {
            stringbuffer.append(z[13]);
            stringbuffer.append(zo.e);
            stringbuffer.append(zo.e);
        }
        if(as.length != 1) goto _L2; else goto _L1
_L1:
        if(!flag || b == null || b.a() == null || ((String)b.a()).length() == 0)
        {
            stringbuffer.append(z[12]);
            stringbuffer.append(zo.e);
            stringbuffer.append(zo.e);
        }
        stringbuffer.append(as[0]);
        if(!flag1) goto _L4; else goto _L3
_L3:
        int k = gs.b;
        gs.b = ++k;
_L2:
        int j;
        stringbuffer.append(z[16] + as.length + z[14]);
        stringbuffer.append(zo.e);
        stringbuffer.append(zo.e);
        j = 0;
        if(!flag1) goto _L6; else goto _L5
_L5:
        String s1 = z[10] + (j + 1) + z[15] + as.length + z[11];
        stringbuffer.append(s1 + zo.e);
        stringbuffer.append(zu.a(s1.length(), '=') + zo.e);
        stringbuffer.append(as[j]);
        if(j < as.length - 1)
            stringbuffer.append(zo.e);
        j++;
_L6:
        if(j < as.length) goto _L5; else goto _L4
_L4:
        return stringbuffer.toString();
    }

    private ArrayList b(String s, boolean flag)
        throws ec
    {
        sq sq1;
        boolean flag1;
        flag1 = ec.b;
        if(s == null)
            throw new IllegalArgumentException(z[19]);
        if(!c)
            a();
        String s1 = s;
        sq1 = new sq(s1);
        if(e == null || !flag)
            break MISSING_BLOCK_LABEL_222;
        ArrayList arraylist1;
        Enumeration enumeration;
        arraylist1 = new ArrayList(sq1.b());
        enumeration = sq1.a();
        if(!flag1)
            break MISSING_BLOCK_LABEL_117;
_L1:
        tq tq1 = (tq)enumeration.nextElement();
        arraylist1.add(a(tq1, e, d));
        ArrayList arraylist;
        if(!enumeration.hasMoreElements())
        {
            ArrayList arraylist2 = a(arraylist1, e);
            arraylist = a(arraylist2);
            break MISSING_BLOCK_LABEL_253;
        }
          goto _L1
        Object obj;
        obj;
        throw new ec(z[18] + ((zb) (obj)).a() + z[17] + b.a() + "'");
        obj;
        throw new ec(((Throwable) (obj)).getMessage());
        arraylist = new ArrayList(0);
        zq zq1 = new zq(sq1, d);
        arraylist.add(zq1);
        return arraylist;
    }

    private String[] a(String s, boolean flag, int i, fv fv1)
        throws ec
    {
        ArrayList arraylist;
        String as[];
        int j;
        boolean flag1;
        flag1 = ec.b;
        fv1.a(false);
        arraylist = b(s, flag);
        as = new String[arraylist.size()];
        j = 0;
        if(!flag1) goto _L2; else goto _L1
_L1:
        xq xq1 = (xq)arraylist.get(j);
        if(xq1.a())
            fv1.a(true);
        as[j] = xq1.a(i, d);
        j++;
_L2:
        if(j >= as.length)
        {
            Arrays.sort(as);
            return as;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    private void a(ArrayList arraylist, vq vq1)
    {
        ArrayList arraylist1;
        int i;
        boolean flag;
        flag = ec.b;
        arraylist1 = vq1.f();
        if(!vq1.h() || arraylist1.size() <= 0)
            break MISSING_BLOCK_LABEL_120;
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        wq wq1 = (wq)arraylist1.get(i);
        ou ou1 = wq1.b;
        if(ou1 == null)
            ou1 = (ou)vq1.e().a(new dp(wq1.a));
        oq oq2 = new oq();
        oq2.a(vq1, ou1);
        arraylist.add(oq2);
        i++;
_L2:
        if(i < arraylist1.size()) goto _L1; else goto _L3
_L3:
        if(!flag)
            break MISSING_BLOCK_LABEL_142;
        oq oq1 = new oq();
        oq1.a(vq1);
        arraylist.add(oq1);
    }

    private void a()
        throws ec
    {
        boolean flag = b();
        if(!flag)
            throw new ec(z[21] + a + z[20]);
        if(b != null && b.a() != null && ((String)b.a()).length() > 0)
            e = new yo(b, oc.h);
        c = true;
    }

    private boolean b()
        throws ec
    {
        boolean flag;
        BufferedReader bufferedreader;
        bf bf1;
        flag = true;
        bufferedreader = null;
        bf1 = null;
label0:
        {
            d = new se();
            String s = re.a(new File(a));
            if(s != null)
                bufferedreader = new BufferedReader(new InputStreamReader(new FileInputStream(a), s));
            else
                bufferedreader = new BufferedReader(new InputStreamReader(new FileInputStream(a)));
            we we1 = we.b;
            if(we1 == null)
            {
                we we2 = new we(bufferedreader);
                if(!ec.b)
                    break label0;
            }
            we.a(bufferedreader);
        }
        bf1 = we.j();
        bf1.a(null, d);
        if(bf1.e() == 0)
            flag = false;
        break MISSING_BLOCK_LABEL_369;
        JVM INSTR pop ;
        throw new ec(z[3] + a + "\"");
        JVM INSTR pop ;
        throw new ec(z[5] + a + "\"");
        Object obj;
        obj;
        throw new ec(z[7] + a + z[4] + ((lb) (obj)).getMessage() + "\"");
        obj;
        throw new ec(z[6] + a + z[4] + ((ob) (obj)).getMessage() + "\"");
        obj;
        throw new ec(z[8] + ((Throwable) (obj)).getMessage() + "\"");
        break MISSING_BLOCK_LABEL_410;
        local;
        if(bf1 != null)
            bf1.c();
        if(bufferedreader != null)
            try
            {
                bufferedreader.close();
            }
            catch(IOException _ex) { }
        JVM INSTR ret 5;
        return flag;
    }
                    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x60;
                    break;
                case 1:
                    key = 3;
                    break;
                case 2:
                    key = 117;
                    break;
                case 3:
                    key = 35;
                    break;
                default:
                    key = 7;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }
    static 
    {
        String as[];
        as = new String[22];
        as[0] = "@=U";
        as[1] = "\"z\001Fd\017g\020\003f\016b\031Zt\tpUF\177\003f\020Gb\004#\030B\177\tn\000N'\003l\030Sk\005{\034W~@w\035Qb\023k\032Oc@+7\n)@";
        as[2] = "\"z\001Fd\017g\020\003f\016b\031Zt\tpUF\177\003f\020Gb\004#\030B\177\tn\000N'\003l\030Sk\005{\034W~@w\035Qb\023k\032Oc@+4\n)@";
        as[3] = "&j\031F'%q\007Lu@9Uvi\023v\005Sh\022w\020GB\016`\032Gn\016d0[d\005s\001Jh\016#\034M'B";
        as[4] = "B#O\003%";
        as[5] = "&j\031F'%q\007Lu@9U`h\025o\021M \024#\032Sb\016#\023Jk\005#W";
        as[6] = "0b\007Pb@f\007Qh\022#\002Kn\ffUQb\001g\034M`@!";
        as[7] = ",f\rJd\001oUFu\022l\007\003p\bj\031F'\022f\024Gn\016dU\001";
        as[8] = "0b\007Pb@F\007Qh\022#O\003%";
        as[9] = ")m\005Vs@`\035Bi\007fUOh\007#\023Jk\005#\033Bj\005#\034P'\016v\031O";
        as[10] = "0l\006Pn\002o\020\003t\024b\026H'\024q\024@b@";
        as[11] = "N-[";
        as[12] = ".L!f=@L\027Er\023`\024Wb\004#\027Zs\005`\032Gb@m\032W'\001m\024O~\032f\021\003t\017#\001Kb\022fU@h\025o\021\003e\005#\030Vk\024j\005Ob@s\032Pt\ta\031F'\rf\001Kh\004pUEh\022#\020Bd\b#\001Qf\003fUOn\016f[";
        as[13] = ".L!f=@M\032Mb@l\023\003s\bfU@k\001p\006Ft@j\033\003s\bfUPs\001`\036\003s\022b\026F'\027k\020Qb@e\032Vi\004#\034M'\024k\020\003d\bb\033Db@o\032D'\017qUMh@p\001Bd\013#\001Qf\003fUOn\016f\006\003a\017v\033G)@J\006\003s\bfU@h\022q\020@s@`\035Bi\007fUOh\007#\006Fk\005`\001Fc_#Ugh@w\035F'\023w\024@l@w\007Bd\005#\031Ji\005pUPs\001q\001\003p\tw\035\003 \001wR\034";
        as[14] = "@w\007Bi\023o\024Wb\004#\006Wf\003hUWu\001`\020P'\001q\020\003w\017p\006Je\ff[";
        as[15] = "@l\023\003";
        as[16] = ".L!f=@";
        as[17] = "G#\033Ls@e\032Vi\004#\034M'\017a\023Vt\003b\001Fc@a\fWb\003l\021F'\003o\024Pt\020b\001K'G";
        as[18] = "#o\024Pt@$";
        as[19] = "3w\024@l@w\007Bd\005#\034P'\016v\031O";
        as[20] = "G#\024Sw\005b\007P'\024lU@h\016w\024Ji@m\032\003d\bb\033Db@o\032D'\004b\001B)";
        as[21] = "#k\024M`\005#\031L`@$";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}